import '../lib/jquery.js';
import { ajax } from '../utils/ajax.js';
import { nameTest, pwdTest, nickTest } from '../utils/reg.js';

// 为表单元素绑定提交事件处理函数
$('form').on('submit', async (e) => {
    // 阻止表单的默认提交行为
    e.preventDefault();
    // 获取用户名、密码、重复密码和昵称输入框的值
    const username = $('.username').val();
    const password = $('.password').val();
    const rpassword = $('.rpassword').val();
    const nickname = $('.nickname').val();

    // 初始化一个数组用于存储表单验证错误信息
    const errors = [];
    
    // 检查所有输入框是否已填写
    if (!username || !password || !rpassword || !nickname) {
        errors.push('表单不能为空');
    }
    // 验证用户名格式是否符合要求
    if (!nameTest(username)) {
        errors.push('用户名格式错误');
    }
    // 验证密码格式是否符合要求
    if (!pwdTest(password)) {
        errors.push('密码格式错误');
    }
    // 验证昵称格式是否符合要求
    if (!nickTest(nickname)) {
        errors.push('昵称格式错误');
    }
    // 检查两次输入的密码是否一致
    if (password !== rpassword) {
        errors.push('两次密码不一致');
    }

    // 如果存在错误，使用alert函数弹出错误信息
    if (errors.length > 0) {
        alert(errors.join('\n'));
        // 阻止表单提交
        return;
    }

    //发送的数据
    let data = {username, password, rpassword, nickname}
    let {data: {code}} = await ajax.post('/users/register', data);
    //失败
    if (code != 1) return $('.error').css('display', 'block');
    //成功跳转到登录页面
    alert('注册成功，点击确定跳转到登录页面')
    location.href = './login.html';
});